package com.rds.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rds.common.annotation.Excel;
import com.rds.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 权限管理表 rda_power_property
 *
 * @author rds
 */
public class RdaPowerControl extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 角色名称 */
    @Excel(name = "角色名称")
    private String roleName;

    /** 角色权限 */
    @Excel(name = "角色权限")
    private String roleKey;

    /** 角色排序 */
    @Excel(name = "角色排序")
    private String roleSort;

    /** 数据范围（1：所有数据权限；2：自定义数据权限；3：本部门数据权限；4：本部门及以下数据权限；5=仅本人数据权限） */
    @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限,5=仅本人数据权限")
    private String dataScope;


    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 备注 */
    private String remark;

    /**主键ID自增长ID */
    @Excel(name = "主键ID自增长ID", cellType = Excel.ColumnType.NUMERIC)
    private Long id;

    /** 角色ID */
    @Excel(name = "角色ID")
    private Long roleId;

    /** 策略管理ID */
    @Excel(name = "策略管理ID")
    private Long policyId;

    /** 策略管理状态ID */
    @Excel(name = "策略管理状态ID")
    private Long policyStateId;

    /** 属性 */
    @Excel(name = "属性")
    private String attribute;

    /** 属性值 */
    @Excel(name = "属性值")
    private String attributeValue;

    /** 查看 */
    @Excel(name = "查看")
    private boolean read;

    /** 修改 */
    @Excel(name = "修改")
    private boolean modify;

    /** 删除 */
    @Excel(name = "删除")
    private boolean remove;

    /** 创建 */
    @Excel(name = "创建")
    private boolean created;

    /** 发布 */
    @Excel(name = "发布")
    private boolean release;

    /** 换版 */
    @Excel(name = "换版")
    private boolean revise;

    /** 作废 */
    @Excel(name = "作废")
    private boolean obsolete;

    /** 浏览 */
    @Excel(name = "浏览")
    private boolean views;

    /** 上传 */
    @Excel(name = "上传")
    private boolean checkIn;

    /** 下载 */
    @Excel(name = "下载")
    private boolean download;

    /** 升级 */
    @Excel(name = "升级")
    private boolean promote;

    /** 降级 */
    @Excel(name = "降级")
    private boolean demote;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间")
    private Date createTime;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间")
    private Date modifyTime;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 修改人 */
    @Excel(name = "修改人")
    private String modifyUserName;

    /** 查看下级 */
    @Excel(name = "查看下级")
    private boolean subordinate;

    /**
     * 获取字段 id [主键ID自增长ID]
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置字段 id [主键ID自增长ID]
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取字段 roleId [角色ID]
     */
    public Long getRoleId() {
        return roleId;
    }

    /**
     * 设置字段 roleId [角色ID]
     */
    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    /**
     * 获取字段 policyId [策略管理ID]
     */
    public Long getPolicyId() {
        return policyId;
    }

    /**
     * 设置字段 policyId [策略管理ID]
     */
    public void setPolicyId(Long policyId) {
        this.policyId = policyId;
    }

    /**
     * 获取字段 policyStateId [策略管理状态ID]
     */
    public Long getPolicyStateId() {
        return policyStateId;
    }

    /**
     * 设置字段 policyStateId [策略管理状态ID]
     */
    public void setPolicyStateId(Long policyStateId) {
        this.policyStateId = policyStateId;
    }

    /**
     * 获取字段 attribute [属性]
     */
    public String getAttribute() {
        return attribute;
    }

    /**
     * 设置字段 attribute [属性]
     */
    public void setAttribute(String attribute) {this.attribute = attribute;}

    /**
     * 获取字段 attributeValue [属性值]
     */
    public String getAttributeValue() {
        return attributeValue;
    }

    /**
     * 设置字段 attributeValue [属性值]
     */
    public void setAttributeValue(String attributeValue) {
        this.attributeValue = attributeValue;
    }

    /**
     * 获取字段 see [查看]
     */
    public boolean getRead() {
        return read;
    }

    /**
     * 设置字段 see [查看]
     */
    public void setRead(boolean read) {
        this.read = read;
    }

    /**
     * 获取字段 modify [修改]
     */
    public boolean getModify() {
        return modify;
    }

    /**
     * 设置字段 modify [修改]
     */
    public void setModify(boolean modify) {
        this.modify = modify;
    }

    /**
     * 获取字段 remove [删除]
     */
    public boolean getRemove() {
        return remove;
    }

    /**
     * 设置字段 remove [删除]
     */
    public void setRemove(boolean remove) {
        this.remove = remove;
    }

    /**
     * 获取字段 create [创建]
     */
    public boolean getCreated () {
        return created ;
    }

    /**
     * 设置字段 create [创建]
     */
    public void setCreated (boolean created ) {
        this.created  = created ;
    }

    /**
     * 获取字段 release [发布]
     */
    public boolean getRelease() {
        return release;
    }

    /**
     * 设置字段 release [发布]
     */
    public void setRelease(boolean release) {
        this.release = release;
    }

    /**
     * 获取字段 versionChange [换版]
     */
    public boolean getRevise() {
        return revise;
    }

    /**
     * 设置字段 versionChange [换版]
     */
    public void setRevise(boolean revise) {
        this.revise = revise;
    }

    /**
     * 获取字段 toVoid [作废]
     */
    public boolean getObsolete() {
        return obsolete;
    }

    /**
     * 设置字段 toVoid [作废]
     */
    public void setObsolete(boolean obsolete) {
        this.obsolete = obsolete;
    }

    /**
     * 获取字段 browse [浏览]
     */
    public boolean getViews() {
        return views;
    }

    /**
     * 设置字段 browse [浏览]
     */
    public void setViews(boolean views) {
        this.views = views;
    }

    /**
     * 获取字段 uploads [上传]
     */
    public boolean getCheckIn() {
        return checkIn;
    }

    /**
     * 设置字段 uploads [上传]
     */
    public void setCheckIn(boolean checkIn) {
        this.checkIn = checkIn;
    }

    /**
     * 获取字段 download [下载]
     */
    public boolean getDownload() {
        return download;
    }

    /**
     * 设置字段 download [下载]
     */
    public void setDownload(boolean download) {
        this.download = download;
    }

    /**
     * 获取字段 upgrade [升级]
     */
    public boolean getPromote() {
        return promote;
    }

    /**
     * 设置字段 upgrade [升级]
     */
    public void setPromote(boolean promote) {
        this.promote = promote;
    }

    /**
     * 获取字段 demotion [降级]
     */
    public boolean getDemote() {
        return demote;
    }

    /**
     * 设置字段 demotion [降级]
     */
    public void setDemote(boolean demote) {
        this.demote = demote;
    }

    /**
     * 获取字段 createTime [创建时间]
     */
    @Override
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置字段 createTime [创建时间]
     */
    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取字段 modifyTime [修改时间]
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 设置字段 modifyTime [修改时间]
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 获取字段 status [状态]
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置字段 status [状态]
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 获取字段 modifyUserName [修改人]
     */
    public String getModifyUserName() {
        return modifyUserName;
    }

    /**
     * 设置字段 modifyUserName [修改人]
     */
    public void setModifyUserName(String modifyUserName) {
        this.modifyUserName = modifyUserName;
    }

    /**
     * 获取字段 seeSubordinate [查看下级]
     */
    public boolean getSubordinate() {return subordinate;}

    /**
     * 设置字段 seeSubordinate [查看下级]
     */
    public void setSubordinate(boolean subordinate) {this.subordinate = subordinate;}

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public String getRoleKey() {
        return roleKey;
    }

    public void setRoleKey(String roleKey) {
        this.roleKey = roleKey;
    }

    public String getRoleSort() {
        return roleSort;
    }

    public void setRoleSort(String roleSort) {
        this.roleSort = roleSort;
    }

    public String getDataScope() {
        return dataScope;
    }

    public void setDataScope(String dataScope) {
        this.dataScope = dataScope;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "RdaPowerControl{" +
                "roleName='" + roleName + '\'' +
                ", roleKey='" + roleKey + '\'' +
                ", roleSort='" + roleSort + '\'' +
                ", dataScope='" + dataScope + '\'' +
                ", delFlag='" + delFlag + '\'' +
                ", remark='" + remark + '\'' +
                ", id=" + id +
                ", roleId=" + roleId +
                ", policyId=" + policyId +
                ", policyStateId=" + policyStateId +
                ", attribute='" + attribute + '\'' +
                ", attributeValue='" + attributeValue + '\'' +
                ", read=" + read +
                ", modify=" + modify +
                ", remove=" + remove +
                ", created=" + created +
                ", release=" + release +
                ", revise=" + revise +
                ", obsolete=" + obsolete +
                ", views=" + views +
                ", checkIn=" + checkIn +
                ", download=" + download +
                ", promote=" + promote +
                ", demote=" + demote +
                ", createTime=" + createTime +
                ", modifyTime=" + modifyTime +
                ", status='" + status + '\'' +
                ", modifyUserName='" + modifyUserName + '\'' +
                ", subordinate=" + subordinate +
                '}';
    }
}
